package Negocio;
import java.util.*;

/**
 * @author Estudiante
 */
public class Conjuntos extends Vector {/*La clase Conjuntos hereda de la clase vector*/
    
    /*Constructores de la Clase Conujuntos*/
    public Conjuntos(){}
    public Conjuntos(int d){
            setDim(d);
        }
    /*Algoritmo de la Union de Conjuntos*/
    public Conjuntos union(Conjuntos A,Conjuntos B){
            Conjuntos C= new Conjuntos(A.getDim()+B.getDim());
            int i=0,j=0;
            while(i<A.getDim()&&A.vector[i]!=null){
                C.vector[i]=new Entero(A.vector[i].getNum());
                i++;
            }                            
            while(j<B.getDim()&&B.vector[j]!=null){
                    if(!C.existe(B.vector[j].getNum(),i)){
                                C.vector[i] = new Entero(B.vector[j].getNum());
                                i++;
                        }
                    j++;
                }
            return C;        
        }
    /*Algoritmo de la Intersepcion de Conjuntos*/
    public Conjuntos Intersepcion(Conjuntos A,Conjuntos B){
            Conjuntos C= new Conjuntos(A.getDim());
            int index=0;
            for(int i=0;i<B.getDim();i++){
                    if(A.existe(B.vector[i].getNum(), A.getDim())){
                            C.vector[index] = new Entero(B.vector[i].getNum());
                            index++;
                        }
                } 
           return C;
        }
    /*Algoritmo de la Diferencia de Conjuntos*/
    public Conjuntos Diferencia(Conjuntos A,Conjuntos B){
            Conjuntos C= new Conjuntos(A.getDim());
            int index=0;
            for(int i=0;i<A.getDim();i++){
                    if(!B.existe(A.vector[i].getNum(), B.getDim())){
                            C.vector[index] = new Entero(A.vector[i].getNum());
                            index++;
                        }
                }
            return C;
        }
}